package com.mz.mattress.client.service;

import com.mz.mattress.api.common.Result;
import com.mz.mattress.api.entity.Member;
import com.mz.mattress.api.resp.UserAuth;
import com.mz.mattress.client.api.req.MemberReq;
import com.mz.mattress.client.api.req.WxLoginReq;
import com.mz.mattress.client.api.resp.RegisterResp;

/**
 * 会员服务
 */
public interface MemberService {

    /**
     * 微信登录
     * @param wxLoginReq
     */
    Result<UserAuth> WxLogin(WxLoginReq wxLoginReq, String ip);

    /**
     * 提取微信绑定的手机号
     * @param data
     * @return
     */
    Result<RegisterResp> bindWxMobile(String sessionkey, String data, Long memberId);

    /**
     * 重新登录
     * @return
     */
    Result<UserAuth> reLogin();

    /**
     * 更新会员信息
     * @return
     */
    Result updateById(MemberReq req);

    /**
     * 获取会员信息
     * @return
     */
    Result<Member> getById(Long memberId);

    /**
     * 根据会员ID 输出邀请二维码
     */
    Result qrcode(Long memberId);


    void saveDeviceInfo(Long memberId, String deviceCode);

}
